package cn.hsa.fqz.task.dao;

import cn.hsa.fqz.task.entity.TTaskMedcClueFeedbackDO;
import cn.hsa.fqz.task.service.dto.MedcFeedbackMinDTO;
import cn.hsa.fqz.task.service.dto.TaskFeedbackQueryDTO;
import cn.hsa.fqz.task.service.dto.TaskMedcClueFeedbackStatisticBasicDTO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @Entity cn.hsa.fqz.task.entity.TTaskMedcClueFeedbackDO
 */
public interface TTaskMedcClueFeedbackMapper extends BaseMapper<TTaskMedcClueFeedbackDO> {

    MedcFeedbackMinDTO selectCountByTaskCodeAndFxdjAndMedcCode(@Param("fxdj")String fxdj,@Param("taskCode") String taskCode,@Param("medcCode")String medcCode);

    List<TaskMedcClueFeedbackStatisticBasicDTO> statisticFeedbackMedcWithGlobal(@Param("taskCode") String taskCode);

    List<TaskMedcClueFeedbackStatisticBasicDTO> statisticFeedbackMedcWithProvice(@Param("taskCode") String taskCode,@Param("proviceCode") String proviceCode);

    List<TaskMedcClueFeedbackStatisticBasicDTO> statisticFeedbackWithGlobal(@Param("taskCode") String taskCode);

    List<TaskMedcClueFeedbackStatisticBasicDTO> statisticFeedbackWithProvice(@Param("taskCode") String taskCode,@Param("proviceCode") String proviceCode);

    Integer selectCountByTaskCodeAndMedcCode(@Param("taskCode")String taskCode,@Param("medcCode")String medcCode);

    Integer selectCountByTaskCodeAndMedcCodeAndCheckResultAndRegionAndFxdj(@Param("taskCode")String taskCode,@Param("medcCode")String medcCode,@Param("fxdj")Integer fxdj,
                                                                           @Param("proviceCode")String proviceCode,@Param("cityCode")String cityCode,@Param("checkResult")Integer checkResult);

    List<TTaskMedcClueFeedbackDO> getPageFeedbackByCondition(@Param("param") TaskFeedbackQueryDTO.Condition condition,
                                                             @Param("startTime") Date startTime, @Param("endTime") Date endTime);
}




